'Weak Dependency Graph [60.0]'
------------------------------
Answer:           YES(?,O(n^1))
Input Problem:    innermost runtime-complexity with respect to
  Rules:
    {  concat(leaf(), Y) -> Y
     , concat(cons(U, V), Y) -> cons(U, concat(V, Y))
     , lessleaves(X, leaf()) -> false()
     , lessleaves(leaf(), cons(W, Z)) -> true()
     , lessleaves(cons(U, V), cons(W, Z)) ->
       lessleaves(concat(U, V), concat(W, Z))}

Details:         
  We have computed the following set of weak (innermost) dependency pairs:
   {  concat^#(leaf(), Y) -> c_0()
    , concat^#(cons(U, V), Y) -> c_1(concat^#(V, Y))
    , lessleaves^#(X, leaf()) -> c_2()
    , lessleaves^#(leaf(), cons(W, Z)) -> c_3()
    , lessleaves^#(cons(U, V), cons(W, Z)) ->
      c_4(lessleaves^#(concat(U, V), concat(W, Z)))}
  
  The usable rules are:
   {  concat(leaf(), Y) -> Y
    , concat(cons(U, V), Y) -> cons(U, concat(V, Y))}
  
  The estimated dependency graph contains the following edges:
   {concat^#(cons(U, V), Y) -> c_1(concat^#(V, Y))}
     ==> {concat^#(cons(U, V), Y) -> c_1(concat^#(V, Y))}
   {concat^#(cons(U, V), Y) -> c_1(concat^#(V, Y))}
     ==> {concat^#(leaf(), Y) -> c_0()}
   {lessleaves^#(cons(U, V), cons(W, Z)) ->
    c_4(lessleaves^#(concat(U, V), concat(W, Z)))}
     ==> {lessleaves^#(cons(U, V), cons(W, Z)) ->
          c_4(lessleaves^#(concat(U, V), concat(W, Z)))}
   {lessleaves^#(cons(U, V), cons(W, Z)) ->
    c_4(lessleaves^#(concat(U, V), concat(W, Z)))}
     ==> {lessleaves^#(leaf(), cons(W, Z)) -> c_3()}
   {lessleaves^#(cons(U, V), cons(W, Z)) ->
    c_4(lessleaves^#(concat(U, V), concat(W, Z)))}
     ==> {lessleaves^#(X, leaf()) -> c_2()}
  
  We consider the following path(s):
   1) {  lessleaves^#(cons(U, V), cons(W, Z)) ->
         c_4(lessleaves^#(concat(U, V), concat(W, Z)))
       , lessleaves^#(leaf(), cons(W, Z)) -> c_3()}
      
      The usable rules for this path are the following:
      {  concat(leaf(), Y) -> Y
       , concat(cons(U, V), Y) -> cons(U, concat(V, Y))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  concat(leaf(), Y) -> Y
               , concat(cons(U, V), Y) -> cons(U, concat(V, Y))
               , lessleaves^#(cons(U, V), cons(W, Z)) ->
                 c_4(lessleaves^#(concat(U, V), concat(W, Z)))
               , lessleaves^#(leaf(), cons(W, Z)) -> c_3()}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  concat(leaf(), Y) -> Y
             , lessleaves^#(leaf(), cons(W, Z)) -> c_3()}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  concat(leaf(), Y) -> Y
               , lessleaves^#(leaf(), cons(W, Z)) -> c_3()}
              
              Details:
                 Interpretation Functions:
                  concat(x1, x2) = [1] x1 + [1] x2 + [1]
                  leaf() = [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  lessleaves(x1, x2) = [0] x1 + [0] x2 + [0]
                  false() = [0]
                  true() = [0]
                  concat^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_0() = [0]
                  c_1(x1) = [0] x1 + [0]
                  lessleaves^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_2() = [0]
                  c_3() = [0]
                  c_4(x1) = [1] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {lessleaves^#(cons(U, V), cons(W, Z)) ->
             c_4(lessleaves^#(concat(U, V), concat(W, Z)))}
            and weakly orienting the rules
            {  concat(leaf(), Y) -> Y
             , lessleaves^#(leaf(), cons(W, Z)) -> c_3()}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {lessleaves^#(cons(U, V), cons(W, Z)) ->
               c_4(lessleaves^#(concat(U, V), concat(W, Z)))}
              
              Details:
                 Interpretation Functions:
                  concat(x1, x2) = [1] x1 + [1] x2 + [1]
                  leaf() = [9]
                  cons(x1, x2) = [1] x1 + [1] x2 + [8]
                  lessleaves(x1, x2) = [0] x1 + [0] x2 + [0]
                  false() = [0]
                  true() = [0]
                  concat^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_0() = [0]
                  c_1(x1) = [0] x1 + [0]
                  lessleaves^#(x1, x2) = [1] x1 + [1] x2 + [14]
                  c_2() = [0]
                  c_3() = [0]
                  c_4(x1) = [1] x1 + [8]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules: {concat(cons(U, V), Y) -> cons(U, concat(V, Y))}
              Weak Rules:
                {  lessleaves^#(cons(U, V), cons(W, Z)) ->
                   c_4(lessleaves^#(concat(U, V), concat(W, Z)))
                 , concat(leaf(), Y) -> Y
                 , lessleaves^#(leaf(), cons(W, Z)) -> c_3()}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules: {concat(cons(U, V), Y) -> cons(U, concat(V, Y))}
                Weak Rules:
                  {  lessleaves^#(cons(U, V), cons(W, Z)) ->
                     c_4(lessleaves^#(concat(U, V), concat(W, Z)))
                   , concat(leaf(), Y) -> Y
                   , lessleaves^#(leaf(), cons(W, Z)) -> c_3()}
              
              Details:         
                The problem is Match-bounded by 1.
                The enriched problem is compatible with the following automaton:
                {  concat_0(2, 2) -> 4
                 , concat_0(2, 2) -> 5
                 , concat_1(2, 2) -> 6
                 , concat_1(2, 6) -> 6
                 , leaf_0() -> 2
                 , leaf_0() -> 4
                 , leaf_0() -> 5
                 , leaf_0() -> 6
                 , cons_0(2, 2) -> 2
                 , cons_0(2, 2) -> 4
                 , cons_0(2, 2) -> 5
                 , cons_0(2, 2) -> 6
                 , cons_1(2, 6) -> 4
                 , cons_1(2, 6) -> 5
                 , cons_1(2, 6) -> 6
                 , lessleaves^#_0(2, 2) -> 1
                 , lessleaves^#_0(4, 5) -> 3
                 , lessleaves^#_1(6, 6) -> 7
                 , c_3_0() -> 1
                 , c_3_0() -> 3
                 , c_3_1() -> 3
                 , c_3_1() -> 7
                 , c_4_0(3) -> 1
                 , c_4_1(7) -> 1
                 , c_4_1(7) -> 3
                 , c_4_1(7) -> 7}
      
   2) {  lessleaves^#(cons(U, V), cons(W, Z)) ->
         c_4(lessleaves^#(concat(U, V), concat(W, Z)))
       , lessleaves^#(X, leaf()) -> c_2()}
      
      The usable rules for this path are the following:
      {  concat(leaf(), Y) -> Y
       , concat(cons(U, V), Y) -> cons(U, concat(V, Y))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  concat(leaf(), Y) -> Y
               , concat(cons(U, V), Y) -> cons(U, concat(V, Y))
               , lessleaves^#(cons(U, V), cons(W, Z)) ->
                 c_4(lessleaves^#(concat(U, V), concat(W, Z)))
               , lessleaves^#(X, leaf()) -> c_2()}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {  concat(leaf(), Y) -> Y
             , lessleaves^#(X, leaf()) -> c_2()}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {  concat(leaf(), Y) -> Y
               , lessleaves^#(X, leaf()) -> c_2()}
              
              Details:
                 Interpretation Functions:
                  concat(x1, x2) = [1] x1 + [1] x2 + [1]
                  leaf() = [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  lessleaves(x1, x2) = [0] x1 + [0] x2 + [0]
                  false() = [0]
                  true() = [0]
                  concat^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_0() = [0]
                  c_1(x1) = [0] x1 + [0]
                  lessleaves^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_2() = [0]
                  c_3() = [0]
                  c_4(x1) = [1] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {lessleaves^#(cons(U, V), cons(W, Z)) ->
             c_4(lessleaves^#(concat(U, V), concat(W, Z)))}
            and weakly orienting the rules
            {  concat(leaf(), Y) -> Y
             , lessleaves^#(X, leaf()) -> c_2()}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {lessleaves^#(cons(U, V), cons(W, Z)) ->
               c_4(lessleaves^#(concat(U, V), concat(W, Z)))}
              
              Details:
                 Interpretation Functions:
                  concat(x1, x2) = [1] x1 + [1] x2 + [1]
                  leaf() = [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [8]
                  lessleaves(x1, x2) = [0] x1 + [0] x2 + [0]
                  false() = [0]
                  true() = [0]
                  concat^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_0() = [0]
                  c_1(x1) = [0] x1 + [0]
                  lessleaves^#(x1, x2) = [1] x1 + [1] x2 + [7]
                  c_2() = [0]
                  c_3() = [0]
                  c_4(x1) = [1] x1 + [9]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules: {concat(cons(U, V), Y) -> cons(U, concat(V, Y))}
              Weak Rules:
                {  lessleaves^#(cons(U, V), cons(W, Z)) ->
                   c_4(lessleaves^#(concat(U, V), concat(W, Z)))
                 , concat(leaf(), Y) -> Y
                 , lessleaves^#(X, leaf()) -> c_2()}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules: {concat(cons(U, V), Y) -> cons(U, concat(V, Y))}
                Weak Rules:
                  {  lessleaves^#(cons(U, V), cons(W, Z)) ->
                     c_4(lessleaves^#(concat(U, V), concat(W, Z)))
                   , concat(leaf(), Y) -> Y
                   , lessleaves^#(X, leaf()) -> c_2()}
              
              Details:         
                The problem is Match-bounded by 1.
                The enriched problem is compatible with the following automaton:
                {  concat_0(2, 2) -> 4
                 , concat_0(2, 2) -> 5
                 , concat_1(2, 2) -> 6
                 , concat_1(2, 6) -> 6
                 , leaf_0() -> 2
                 , leaf_0() -> 4
                 , leaf_0() -> 5
                 , leaf_0() -> 6
                 , cons_0(2, 2) -> 2
                 , cons_0(2, 2) -> 4
                 , cons_0(2, 2) -> 5
                 , cons_0(2, 2) -> 6
                 , cons_1(2, 6) -> 4
                 , cons_1(2, 6) -> 5
                 , cons_1(2, 6) -> 6
                 , lessleaves^#_0(2, 2) -> 1
                 , lessleaves^#_0(4, 5) -> 3
                 , lessleaves^#_1(6, 6) -> 7
                 , c_2_0() -> 1
                 , c_2_0() -> 3
                 , c_2_1() -> 7
                 , c_4_0(3) -> 1
                 , c_4_1(7) -> 1
                 , c_4_1(7) -> 3
                 , c_4_1(7) -> 7}
      
   3) {lessleaves^#(cons(U, V), cons(W, Z)) ->
       c_4(lessleaves^#(concat(U, V), concat(W, Z)))}
      
      The usable rules for this path are the following:
      {  concat(leaf(), Y) -> Y
       , concat(cons(U, V), Y) -> cons(U, concat(V, Y))}
      
        We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost runtime-complexity with respect to
            Rules:
              {  concat(leaf(), Y) -> Y
               , concat(cons(U, V), Y) -> cons(U, concat(V, Y))
               , lessleaves^#(cons(U, V), cons(W, Z)) ->
                 c_4(lessleaves^#(concat(U, V), concat(W, Z)))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {concat(leaf(), Y) -> Y}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {concat(leaf(), Y) -> Y}
              
              Details:
                 Interpretation Functions:
                  concat(x1, x2) = [1] x1 + [1] x2 + [1]
                  leaf() = [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  lessleaves(x1, x2) = [0] x1 + [0] x2 + [0]
                  false() = [0]
                  true() = [0]
                  concat^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_0() = [0]
                  c_1(x1) = [0] x1 + [0]
                  lessleaves^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_2() = [0]
                  c_3() = [0]
                  c_4(x1) = [1] x1 + [0]
              
            Finally we apply the subprocessor
            We apply the weight gap principle, strictly orienting the rules
            {lessleaves^#(cons(U, V), cons(W, Z)) ->
             c_4(lessleaves^#(concat(U, V), concat(W, Z)))}
            and weakly orienting the rules
            {concat(leaf(), Y) -> Y}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {lessleaves^#(cons(U, V), cons(W, Z)) ->
               c_4(lessleaves^#(concat(U, V), concat(W, Z)))}
              
              Details:
                 Interpretation Functions:
                  concat(x1, x2) = [1] x1 + [1] x2 + [1]
                  leaf() = [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [8]
                  lessleaves(x1, x2) = [0] x1 + [0] x2 + [0]
                  false() = [0]
                  true() = [0]
                  concat^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_0() = [0]
                  c_1(x1) = [0] x1 + [0]
                  lessleaves^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_2() = [0]
                  c_3() = [0]
                  c_4(x1) = [1] x1 + [0]
              
            Finally we apply the subprocessor
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost relative runtime-complexity with respect to
              Strict Rules: {concat(cons(U, V), Y) -> cons(U, concat(V, Y))}
              Weak Rules:
                {  lessleaves^#(cons(U, V), cons(W, Z)) ->
                   c_4(lessleaves^#(concat(U, V), concat(W, Z)))
                 , concat(leaf(), Y) -> Y}
            
            Details:         
              The problem was solved by processor 'Bounds with default enrichment':
              'Bounds with default enrichment'
              --------------------------------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost relative runtime-complexity with respect to
                Strict Rules: {concat(cons(U, V), Y) -> cons(U, concat(V, Y))}
                Weak Rules:
                  {  lessleaves^#(cons(U, V), cons(W, Z)) ->
                     c_4(lessleaves^#(concat(U, V), concat(W, Z)))
                   , concat(leaf(), Y) -> Y}
              
              Details:         
                The problem is Match-bounded by 1.
                The enriched problem is compatible with the following automaton:
                {  concat_0(2, 2) -> 4
                 , concat_0(2, 2) -> 5
                 , concat_1(2, 2) -> 6
                 , concat_1(2, 6) -> 6
                 , leaf_0() -> 2
                 , leaf_0() -> 4
                 , leaf_0() -> 5
                 , leaf_0() -> 6
                 , cons_0(2, 2) -> 2
                 , cons_0(2, 2) -> 4
                 , cons_0(2, 2) -> 5
                 , cons_0(2, 2) -> 6
                 , cons_1(2, 6) -> 4
                 , cons_1(2, 6) -> 5
                 , cons_1(2, 6) -> 6
                 , lessleaves^#_0(2, 2) -> 1
                 , lessleaves^#_0(4, 5) -> 3
                 , lessleaves^#_1(6, 6) -> 7
                 , c_4_0(3) -> 1
                 , c_4_1(7) -> 1
                 , c_4_1(7) -> 3
                 , c_4_1(7) -> 7}
      
   4) {  concat^#(cons(U, V), Y) -> c_1(concat^#(V, Y))
       , concat^#(leaf(), Y) -> c_0()}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           concat(x1, x2) = [0] x1 + [0] x2 + [0]
           leaf() = [0]
           cons(x1, x2) = [0] x1 + [0] x2 + [0]
           lessleaves(x1, x2) = [0] x1 + [0] x2 + [0]
           false() = [0]
           true() = [0]
           concat^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_0() = [0]
           c_1(x1) = [0] x1 + [0]
           lessleaves^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_2() = [0]
           c_3() = [0]
           c_4(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {concat^#(leaf(), Y) -> c_0()}
            Weak Rules: {concat^#(cons(U, V), Y) -> c_1(concat^#(V, Y))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {concat^#(leaf(), Y) -> c_0()}
            and weakly orienting the rules
            {concat^#(cons(U, V), Y) -> c_1(concat^#(V, Y))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {concat^#(leaf(), Y) -> c_0()}
              
              Details:
                 Interpretation Functions:
                  concat(x1, x2) = [0] x1 + [0] x2 + [0]
                  leaf() = [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  lessleaves(x1, x2) = [0] x1 + [0] x2 + [0]
                  false() = [0]
                  true() = [0]
                  concat^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_0() = [0]
                  c_1(x1) = [1] x1 + [0]
                  lessleaves^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_2() = [0]
                  c_3() = [0]
                  c_4(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules:
                {  concat^#(leaf(), Y) -> c_0()
                 , concat^#(cons(U, V), Y) -> c_1(concat^#(V, Y))}
            
            Details:         
              The given problem does not contain any strict rules
      
   5) {concat^#(cons(U, V), Y) -> c_1(concat^#(V, Y))}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           concat(x1, x2) = [0] x1 + [0] x2 + [0]
           leaf() = [0]
           cons(x1, x2) = [0] x1 + [0] x2 + [0]
           lessleaves(x1, x2) = [0] x1 + [0] x2 + [0]
           false() = [0]
           true() = [0]
           concat^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_0() = [0]
           c_1(x1) = [0] x1 + [0]
           lessleaves^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_2() = [0]
           c_3() = [0]
           c_4(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {concat^#(cons(U, V), Y) -> c_1(concat^#(V, Y))}
            Weak Rules: {}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {concat^#(cons(U, V), Y) -> c_1(concat^#(V, Y))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {concat^#(cons(U, V), Y) -> c_1(concat^#(V, Y))}
              
              Details:
                 Interpretation Functions:
                  concat(x1, x2) = [0] x1 + [0] x2 + [0]
                  leaf() = [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [8]
                  lessleaves(x1, x2) = [0] x1 + [0] x2 + [0]
                  false() = [0]
                  true() = [0]
                  concat^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_0() = [0]
                  c_1(x1) = [1] x1 + [3]
                  lessleaves^#(x1, x2) = [0] x1 + [0] x2 + [0]
                  c_2() = [0]
                  c_3() = [0]
                  c_4(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules: {concat^#(cons(U, V), Y) -> c_1(concat^#(V, Y))}
            
            Details:         
              The given problem does not contain any strict rules